package com.heima.pojo.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.heima.common.utils.BooleanToIntegerDeserializer;
import lombok.Data;
import java.util.Date;

/**
 * 工单查询请求参数DTO
 * 用于接收工单查询的请求参数
 */
@Data
public class TaskPageDTO {
    
    /**
     * 页码
     */
    private Integer pageIndex;
    
    /**
     * 页大小
     */
    private Integer pageSize;
    
    /**
     * 设备编号
     */
    private String innerCode;
    
    /**
     * 工单所属人Id
     */
    private Integer userId;
    
    /**
     * 工单编号
     */
    private String taskCode;
    
    /**
     * 工单状态:1:待办;2:进行;3:取消;4:完成
     */
    @TableField("task_status")
    private Integer status;
    
    /**
     * 是否是维修工单
     */
    //TODO  不能用is开头,否则会报错,因为is开头的属性会被识别为boolean类型
            //不是数据库的字段排除
    @TableField(value = "is_repair",select = false)

    @JsonDeserialize(using = BooleanToIntegerDeserializer.class) //使用自定义反序列化
    private Boolean isRepair;
    
    /**
     * 开始日期
     * 示例: 2020-01-01
     */
    private Date start;
    
    /**
     * 结束日期
     * 示例: 2020-12-31
     */
    private Date end;
}